FIG. 1 shows an axial view of a third generation CT scanner 10 that includes an X-ray source 12 and an X-ray detector system 14 secured respectively to diametrically opposite sides of an annular-shaped disk 16. The disk is rotatably mounted within a gantry support (not shown) so that during a scan, the disk continuously rotates about a rotation axis 18 (which is normal to the plane of the page in FIG. 1) while X-rays pass from the source 12 through an object, such as a patient 20, positioned within the opening of the disk to the detector system 14.
The detector system 14 typically includes an array of individual detectors 22 disposed as a single row in the shape of an arc of a circle having a center of curvature at the point 24, referred to as the "focal spot", where the radiation emanates from the X-ray source 12. The X-ray source and the array of detectors are positioned so that the X-ray paths between the source and each detector all lie in the same plane (hereinafter the "slice plane" or "scanning plane") which is normal to the rotation axis 18 of the disk. Since the X-ray paths originate from what is substantially a point source and extend at different angles to the detectors, the X-ray paths form a "fan beam" 26 that is incident on the detector array 14. The X-rays incident on a single detector at a measuring instant during a scan are commonly referred to as a "ray", and each detector generates an output signal indicative of the intensity of its corresponding ray. Since each ray is partially attenuated by all the mass in its path, the output signal generated by each detector is representative of the density of all the mass disposed between that detector and the X-ray source (i.e., the density of the mass lying in the detector's corresponding ray path).
The output signals generated by the X-ray detectors are normally processed by a signal processing portion (not shown) of the CT system. The signal processing portion generally includes a data acquisition system (DAS) which filters the output signals generated by the X-ray detectors to improve their signal-to-noise ratio. Such a DAS is described in U.S. Pat. No. 4,547,893, which is assigned to the assignee of the present invention and is hereby incorporated by reference. The filtered output signals generated by the DAS are referred to herein as "projection data signals". The collection of all the projection data signals at a measuring instant is commonly referred to as a "projection" or a "view", and the angular orientation of the source 12 and detector system 14 on the disk 16 corresponding to a particular projection is referred to as the "projection angle".
During a single scan, the disk 16 rotates smoothly and continuously around the object being scanned allowing the scanner 10 to generate a plurality of projections at a corresponding plurality of projection angles. In a typical scan, the disk rotates at least 360.degree. around the object being scanned, and the scanner generates a new projection every time the disk rotates an incremental amount referred to as d.theta., where d.theta. is on the order of 0.125 degrees. So in a typical scan, the scanner may generate on the order of 2,880 (i.e., eight times 360) projections. The sampling interval between measuring adjacent projections (i.e., the time required for the disk to rotate through an angie of d.theta.), which is referred to by the symbol .DELTA., is typically on the order of a millisecond.
Using well known algorithms, such as the inverse Radon transform, a CT image may be generated from all the projections measured at each of the projection angles. ACT image is representative of the density of a two dimensional "slice", along the scanning plane, of the object being scanned. The process of generating a CT image from the projections is commonly referred to as "filtered back projection" or "reconstruction", since the CT image may be thought of as being reconstructed from the projection data. The signal processing portion normally includes a back projector for generating the reconstructed CT images from the projections.
One problem with CT scanners is that a variety of noise and error sources may potentially contribute noise or artifacts to the reconstructed CT images. The signal processing portions of CT scanners therefore typically employ a host of signal processing techniques to improve the signal-to-noise ratio and to reduce the presence of artifacts in the reconstructed CT images. U.S. patent application Ser. Nos. 08/584,468, 08/614,623, and 08/614,541, entitled STREAK SUPPRESSION FILTER FOR USE IN COMPUTED TOMOGRAPHY SYSTEMS, MOTION ARTIFACT SUPPRESSION FILTER FOR USE IN COMPUTED TOMOGRAPHY SYSTEMS, and RING SUPPRESSION FILTER FOR USE IN COMPUTED TOMOGRAPHY SYSTEMS, respectively, (Attorney Docket Nos. ANA-081, ANA-086, and ANA-087, respectively), which are assigned to the assignee of the present invention and which are hereby incorporated by reference, disclose several examples of filters for suppressing such artifacts.
One important factor that can cause unwanted artifacts to appear in the reconstructed CT images relates to the time response of the detectors. FIGS. 2A and 2B shows graphs that illustrate the time response of a typical X-ray detector. FIG. 2A shows a graph of the intensity of a pulsed X-ray signal verses time. The signal includes an X-ray pulse having a non-zero intensity that occurs between times T.sub.1 and T.sub.2, and the intensity of the signal is zero for all other times. FIG. 2B shows a graph of the output signals generated in response to this X-ray pulse by an ideal detector and by an actual detector. An ideal X-ray detector would be characterized by an instantaneous time response, and would therefore respond instantaneously to the X-ray pulse and would generate an output signal having an amplitude indicated by the dashed line in FIG. 2B. Since actual detectors are characterized by non-instantaneous time responses, an actual detector would generate an output signal characterized by an exponential rise following the beginning of the pulse at time T.sub.1 and an exponential decay following the end of the pulse at time T.sub.2 as indicated by the solid line in FIG. 2B. The deviation from an ideal response, i.e., the rise and decay times, are referred to collectively herein as "afterglow". The term "afterglow" often colloquially refers to the tendency of a scintillator within a detector to continue to "glow" or emit light even after the cessation of incident X-ray radiation (i.e., the exponential decay following the end of an X-ray pulse). However, as used herein the term "afterglow" refers both to the exponential decay and the exponential rise.
Ideally, during a scan, each projection is measured independently of all other projections. However, afterglow tends to make each projection partially dependent on previously measured projections (i.e., projections taken at preceding projection angles). Afterglow therefore tends to introduce unwanted artifacts into reconstructed images. For example, in third generation CT scanners, afterglow often introduces ring-like artifacts, referred to as "rings", into the reconstructed images.
FIG. 3 shows a block diagram of a prior art system 100 that compensates for afterglow artifacts. In this system, an X-ray detector 22 is modeled as a theoretically ideal detector 112 followed by a filter 114, where filter 114 represents the unwanted imperfections present in any particular physically realizable detector. A filter 120 receives the output signal x(t) generated by detector 22 and generates therefrom a corrected signal y(t). The ideal detector 112 has an instantaneous time response and filter 114 is therefore responsible for introducing afterglow effects into the detector output signal x(t). Filters 114, 120 are characterized by transfer functions g(t), h(t), respectively. g(t) is determined by the physical characteristics of the detector 22, and h(t) is selected to be the inverse transfer function of g(t) so that g(t) and h(t) satisfy the following Equation (1) EQU g(t)*h(t)=.delta.(t) (1)
where "*" represents the convolution operator and where .delta.(t) represents an impulse (or Dirac delta) function. When h(t) is selected in this manner, filter 120 removes, or compensates for, any afterglow artifacts introduced by filter 114 so that y(t) is equivalent to the output of the theoretically ideal detector 112. System 100 is referred to as a "deconvolution" system, since filter 120 "deconvolves", or removes, the effect of the unwanted filter 114. U.S. Pat. Nos. 5,265,013 and 5,517,544 disclose deconvolution systems for compensating for afterglow artifacts.
As is well known, the impulse response g(t) of filter 114, for purposes of afterglow considerations, may be described as the sum of an impulse function and an exponentially decaying afterglow term as shown by the following Equation (2) ##EQU1## where t represents time, .tau. represents the time constant for the afterglow term, and .beta. represents the amplitude of the afterglow term. When .beta. is much smaller than one (i.e., .beta.&lt;&lt;1), the inverse transfer function h(t) for filter 120 is given by the following Equation (3). ##EQU2##
Filter 120 may be implemented as a digital filter that generates a sequence of output samples y.sub.i from a sequence of input samples x.sub.i according to the following Equation (4) ##EQU3## where x.sub.i represents the input sample measured at time i, y.sub.i represents the output sample generated at time i, and the discrete transfer function h.sub.i of filter 120 is given by the following Equation (5) ##EQU4## and where .delta..sub.i is given by the following Equation (6) ##EQU5## and where .DELTA. represents the sampling interval (i.e., the time interval between measuring consecutive samples x.sub.i and x.sub.i+1).
One problem with constructing filter 120 according to the above Equation (4) is that the transfer function h.sub.i has an infinite response so filter 120 would require an infinite number of taps. Even if the transfer function h.sub.i were truncated, filter 120 would still be required to perform an impractically large number of computations to generate a single output sample y.sub.i.
One way to reduce the number of computations required to implement a deconvolution system is to use a recurslye filter to perform the deconvolution. FIG. 4 shows a block diagram of a prior art digital recursive deconvolution system 200 that includes a detector 22 (which is modeled as a theoretically ideal detector 112 followed by a filter 114, as shown in FIG. 3), an analog-to-digital converter 216, and a recursive filter 220. The output signal x(t) generated by detector 22 is applied to analog-to-digital converter 216 which generates a sequence of samples x.sub.i by sampling the signal x(t) using a sampling interval having a duration equal to .DELTA.. The samples x.sub.i are applied to recursive filter 220 that generates the set of corrected output samples y.sub.i according to the following recursive Equation (7) EQU y.sub.i =c.sub.0 x.sub.i +c.sub.1 x.sub.i-1 +c.sub.2 y.sub.i-1( 7)
where c.sub.0, c.sub.1, and c.sub.2 are constants that are algebraically related to the parameters .beta., .tau., and .DELTA. according to the following Equation (8) ##EQU6## where the initial output term y.sub.1 is equal to the initial input term x.sub.1.
The Z-transform may be used to show that the transfer function of filter 220 (when implemented according to Equation (7)) is equivalent to the above Equation (3), so system 200 is functionally equivalent to system 100 (shown in FIG. 3). As those skilled in the art will appreciate, system 200 is advantageous over system 100, since recursive filter 220 may be implemented according to Equation (7) as a three tap filter, and need not perform an infinite number of calculations to generate the sequence of output samples.
FIG. 5 shows a block diagram of the signal processing portion of a prior art CT scanner 300 that uses recursive filter 220 to compensate for afterglow artifacts. Scanner 300 includes detector array 14, a data acquisition system (DAS) 316, a processor 322, and a filtered back projection module 330. Detector array 14 includes a plurality of individual detectors 22, and each individual detector 22 generates an output signal x(t) in response to incident X-ray radiation. The vector X(t) includes the collection of all the output signals x(t) generated by the individual detectors 22, and the vector X(t) is applied to DAS 316. During a scan, as the detector array 14 and the X-ray source (shown in FIG. 1) rotate around the object being scanned, the DAS 316 filters and periodically samples (using a sampling interval of duration equal to .DELTA.) the vector X(t) and generates a sequence of vectors X.sub.0, X.sub.1, . . . , X.sub.MAX-1, where the total number of projections generated during a scan is equal to MAX, which as stated above, may be on the order of 2880. The i'th vector X.sub.i represents the projection collected at the i'th projection angle and includes one sample of the output signals generated by each individual detector 22 in array 14. Processor 322 receives and performs a number of filtering operations on the vectors X.sub.i for all integers i from zero to MAX minus one, and generates therefrom a sequence of corrected vectors Y.sub.i for all integers i from zero to MAX minus one and the corrected vectors are applied to filtered back projection module 330 which generates therefrom the reconstructed images.
Processor 322 typically includes several filters, and each of these filters provides correction for a specific type of artifact or noise source. One of the filters included in processor 322 may be recursive filter 220 which provides correction for the afterglow artifacts.
One problem with scanner 300 is that processor 322 is required to perform a very large number of computations. Detector array 14 normally includes a large number of detectors (e.g., CT scanners manufactured by the assignee of the present invention typically include three hundred eighty four detectors), and most modern CT scanners perform a single scan in, on the order of, two seconds. To perform all the calculations required to process all the signals generated by detector array 14 in only two seconds, processor 322 must be a very powerful (e.g., on the order of one hundred fifty million floating point operations per second) processor. If processor 322 is implemented using a single processor or computer, processor 322 must be a relatively expensive processor.
One way to reduce the cost of a CT scanner is to use parallel processing techniques and to implement processor 322 using an array processor that includes a set of relatively inexpensive sub-processors. FIG. 6 shows a block diagram of the signal processing portion of a prior art CT scanner 400 in which processor 322 is implemented using N sub-processors 322.sup.0, 322.sup.1, . . . , 322.sup.N-1. In scanner 400 the sequence of vectors X.sub.i generated by DAS 316 is applied to a de-multiplexor 318 which generates therefrom N vector sequences X.sub.i.sup.q according to the following Equation (9) EQU X.sub.i.sup.q =X.sub.iN+q ( 9)
for all integers q from zero to N minus one (i.e., q=0, 1, 2, . . . N-1I). The q'th vector sequence X.sub.i.sup.q is applied to the q'th sub-processor 322.sup.q, so sub-processor 322.sup.0 receives vectors X.sub.0, X.sub.N, X.sub.2N, . . . , and sub-processor 322.sup.1 receives vectors X.sub.1, X.sub.N+1, X.sub.2N+1, . . . , and so on. The q'th sub-processor 322.sup.q generates a sequence of output vectors Y.sub.i.sup.q, which are described by the following Equation (10). EQU Y.sub.i.sup.q =Y.sub.iN+q ( 10)
The output vectors generated by the sub-processors 322.sup.0 -322.sup.N-1 are applied to a multiplexor 326 which generates therefrom the output vectors Y.sub.i for all integers i from zero to MAX minus one which are then applied to the filtered back projection module 330.
Since each sub-processor only processes a fraction of the vectors X.sub.i, the sub-processors are less complex and less expensive than the single processor 322 used in system 300 (shown in FIG. 3). However, one problem with system 400 is that the sub-processors cannot implement recursive deconvohtion filter 220 (shown in FIG. 4). As described by the above Equation (7), to compute the i'th vector Y.sub.i for the i'th projection angle, the recursive filter 220 requires the data from the previous adjacent (i.e., i minus one) projection angle, and in system 400 none of the sub-processors receive vectors from adjacent projection angles and instead only receive vectors that are spaced apart by N. There is therefore a need for an afterglow correction filter that may be implemented by a set of parallel sub-processors.